package com.tgy.reflection;

/***
 * @ClassName: ClassInit
 * @Description: 测试类什么时候会初始化
 * @Auther: 送一一块二向箔
 * @Date: 16:19 2021/12/1
 * @version : V1.0
 */
public class ClassInit {
    static {
        System.out.println("main类加载");
    }

    public static void main(String[] args) throws ClassNotFoundException {
        //主动引用,父类没被加载先加载父类
        //Man man = new Man();

        //反射会产生主动引用 消耗资源
        //Class.forName("com.tgy.reflection.Man");

        /**
         * 不会产生类的引用的方法
         */
        //子类调用父类的静态方法，子类没被加载
        //System.out.println(Man.a);
        //数组
        Man [] arry = new Man[10];
        //常量
        System.out.println(Man.N);


    }
}

class Human{
    static int a = 1;
    static{
        System.out.println("父类被加载");
    }
}
class Man extends Human{
    static {
        System.out.println("子类被加载");
    }
    static int m = 100;
    //常量,大写
    static final int N = 1000;
}
